package com.zmn.oms.dubbo.interfaces.zmn.refund;


import com.zmn.common.dto2.ResponseDTO;
import com.zmn.oms.dubbo.dto.zmn.refund.ApplyRefundDIO;
import com.zmn.oms.dubbo.dto.zmn.refund.FinalPriceOrderRefundDifferenceDIO;
import com.zmn.oms.dubbo.dto.zmn.refund.RefundDetailDRO;

import javax.validation.constraints.NotNull;

/**
 * 类描述：退款
 *
 * @author yule
 * @date 2020/04/21 17:35
 */
public interface RefundOrderRemoteService {

	/**
	 * 申请退款
	 * @param applyRefundDIO
	 * @return
	 */
	@Deprecated
	ResponseDTO applyRefund(ApplyRefundDIO applyRefundDIO);

	/**
	 * 退款明细
	 * @param orderId
	 * @return
	 */
	ResponseDTO<RefundDetailDRO> refundDetail(Long orderId);

	/**
	 * 一口价订单退差额
	 *
	 * @param finalPriceOrderRefundDifferenceDIO
	 * @return
	 */
	ResponseDTO finalPriceOrderRefundDifference(@NotNull(message = "入参不能为空") FinalPriceOrderRefundDifferenceDIO finalPriceOrderRefundDifferenceDIO);
}
